Unity 添加Click事件的几种方法总结 | 您所在的位置:网站首页 › function select button › Unity 添加Click事件的几种方法总结 |
所有的点击事件的生效其实都是实现了接口:IPointerClickHandler 里的 OnPointClick 先看看源码: 接口: Button(指组件)添加点击事件: 1.Button组件仔细看看他的各个参数发现一个On Click()/鼠标单击() 1.写一个脚本,脚本里面写一个你需要点击后执行的方法。 public void ListClick() { Debug.Log("Button绑定function的点击事件!"); }2.随便挂在一个物体上,我挂在场景里面的一个空物体(名为test)。 3.选择对象 先选中你脚本所挂的对象 Button添加listener实现点击事件 给需要点击事件的对象挂上下面的脚本,前提是物体要有button组件!!!!: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class ListenerClick : MonoBehaviour { // Start is called before the first frame update void Start() { GetComponent().onClick.AddListener(ButtonClick); } // Update is called once per frame void Update() { } void ButtonClick() { Debug.Log("Listener 的方法!"); } }此处其实跟上面的方法是一样的,也是用了委托。AddListener(function)说的直白一点,就是用了函数指针。用我的话翻译一下: obj.GetComponent().onClick.AddListener(ButtonClick); 大概意思就是:给obj的button组件的onClick里面添加一个方法,点击生效。 但如果不是Button,又不想添加Button组件呢? 实现接口IPointerClickHandler-OnPointClick(不一定是click,也肯能是up,down啥的) (实际上发现实现接口,不用命名空间UnityEngine.UI,只用using UnityEngine.EventSystems就行了) 然后保存就完成啦。 切记切记切记!!!!! UGUI 的点击等事件,其实都是由射线完成的,所以如果你的对象要想有点击响应,那么一定要勾选 光影投射目标/RaycastTarget!!!! |
CopyRight 2018-2019 实验室设备网 版权所有 |